const friendService = require('../service/friend.service');

class friendController {

  // 保存一个朋友
  async create(ctx, next) {
    // 1.获取参数
    const {fName, fAvatar, fDesc, fLink} = ctx.request.body;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await friendService.create(id, fName, fAvatar, fDesc, fLink);
    // 3.返回结果
    ctx.body = result;
  }

  // 删除一个朋友
  async remove(ctx, next) {
    // 1.获取参数
    const {friendId} = ctx.request.body;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await friendService.remove(id, friendId);
    // 3.返回结果
    ctx.body = result;
  }

  // 修改一个朋友
  async update(ctx, next) {
    // 1.获取参数
    const {friendId, fName, fAvatar, fDesc, fLink} = ctx.request.body;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await friendService.update(id, friendId, fName, fAvatar, fDesc, fLink);
    // 3.返回结果
    ctx.body = result;
  }

  // 获取好友详情
  async getFriendById(ctx, next) {
    // 1.获取参数
    const {friendId} = ctx.query;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await friendService.getFriendById(friendId, id);
    // 3.返回结果
    ctx.body = result;
  }

  // 获取朋友列表
  async list(ctx, next) {
    // 1.获取参数
    const {userId} = ctx.query;
    // 2.操作数据库
    const result = await friendService.list(userId);
    // 3.返回结果
    ctx.body = result;
  }

}

module.exports = new friendController();
